/*
 * Copyright 2006 Pavel Jbanov.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package org.iverein.gxt.rte.client.editor.browserdep;

import com.google.gwt.user.client.Element;

class EditorUtilsImplSafari extends EditorUtilsImplCommon {

    public native void saveSelection(Element oIframe) /*-{
        var oDoc = oIframe.contentWindow || oIframe.contentDocument;
        if (oDoc.document) {
          oDoc = oDoc.document;
        }

        var oWin = oIframe.contentWindow;
        var sel = oWin.getSelection();

        oDoc._previous_range = sel;
        // oDoc._previous_range.baseNode = sel.baseNode;
        // oDoc._previous_range.baseOffset = sel.baseOffset;
        // oDoc._previous_range.extentNode = sel.extentNode;
        // oDoc._previous_range.extentOffset = sel.extentOffset;
    }-*/;

    public native void restoreSelection(Element oIframe) /*-{
        var oDoc = oIframe.contentWindow || oIframe.contentDocument;
        if (oDoc.document) {
          oDoc = oDoc.document;
        }

        var oWin = oIframe.contentWindow;
        var sel = oWin.getSelection();
        sel.setBaseAndExtent(oDoc._previous_range.baseNode,
        oDoc._previous_range.baseOffset,
        oDoc._previous_range.extentNode,
        oDoc._previous_range.extentOffset);
    }-*/;
}
